package igor.lakienko.ru.generation.quotes.dto;

import igor.lakienko.ru.generation.quotes.enums.Stock;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.Value;
import lombok.experimental.SuperBuilder;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 * Класс дто для акций.
 */
@Value
@ToString(callSuper = true)
@SuperBuilder(toBuilder = true)
@EqualsAndHashCode(callSuper = true)
public class StockDto extends MessageEventDto {

    /**
     * Название акции.
     */
    Stock stock;

    /**
     * Полное название акции.
     */
    String fullStockName;

    /**
     * Цена покупки акции.
     */
    BigDecimal bid;

    /**
     * Цена продажи акции.
     */
    BigDecimal offer;

    /**
     * Суммарная рыночная стоимость выпущенных акций компании.
     */
    BigDecimal marketCapital;

    /**
     * Цена за акцию компании.
     */
    float price;

    /**
     * Количество акций компании.
     */
    BigInteger stockVolume;

    /**
     * Прибыль компании за год.
     */
    BigInteger profitCompany;

    /**
     * Часть прибыли, которой компания делится с инвесторами, владеющими их акциями
     */
    float dividends;

    /**
     * Справедливая цена акции.
     */
    float fairPrice;

    /**
     * Прибыль компании до вычета процента по кредитам, налога на прибыль и амортизации по основным
     * нематериальным активам.
     */
    float ebitda;
}
